package gui;
+import java.awt.Color;
+import java.awt.Component;
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
+import java.rmi.Naming;
+import java.rmi.RemoteException;
import java.util.Enumeration;
import java.util.Vector;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
+import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
+import common.HouseInterface;
+
+import configuration.___IntNames;
import domain.Offer;
import domain.Owner;
import domain.RuralHouse;
setContentPane(contentPane);
contentPane.setLayout(null);
this.offers = new Vector<Offer>();
- for (RuralHouse rh: this.owner.getRuralHouses()){
- this.offers.addAll(rh.getAllOffers());
+ HouseInterface hm = null;
+ try {
+ hm = (HouseInterface) Naming
+ .lookup(___IntNames.HouseManager);
+ } catch (Exception e1) {
+ System.out.println("Error accessing remote authentication: "
+ + e1.toString());
+ }
+ Vector<RuralHouse> Hlist = null;
+ try {
+ Hlist = hm.getHouses(owner, null, null, 0, 0, 0, 0, 0);
+ } catch (RemoteException e1) {
+ e1.printStackTrace();
+ }
+ for (RuralHouse rh: Hlist){
+ for(Offer of : rh.getAllOffers())
+ this.offers.add(of);
}
JLabel lblNewLabel = new JLabel();
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27));
tableModel = new DefaultTableModel(null, new String[] { "Offer #",
"FirstDay", "LastDay", "Price" ,"RuralHouse"});
- // Maybe there is a better way to avoid interaction.
- // table.setEnabled(false);
table.setModel(tableModel);
table.addMouseListener( new MouseAdapter(){
@Override
row.add(of.getPrice());
row.add(of.getRuralHouse().getHouseName());
tableModel.addRow(row);
-
}
+
+ table.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Component getTableCellRendererComponent(JTable table,
+ Object value, boolean isSelected, boolean hasFocus,
+ int row, int col) {
+
+ super.getTableCellRendererComponent(table, value, isSelected,
+ hasFocus, row, col);
+
+ if (!offers.get(row).isBooked()) {
+ setBackground(Color.ORANGE);
+ setForeground(Color.BLACK);
+ } else {
+ setBackground(Color.GREEN);
+ setForeground(Color.BLACK);
+ }
+
+ return this;
+ }
+ });
}
}